LaTeX学习笔记

386次阅读
没有评论

共计 3930 个字符,预计需要花费 10 分钟才能阅读完成。

一些概念

TeX:是 Donald E. Knuth(高德纳)发明的排版系统,本质上是一门宏语言,官网:https://ctan.org/,TeX 用户组:https://tug.org/

LaTeX:LaTeX 是 TeX 的扩展,又称为宏集,简单说就是 TeX 的命令太原始了,为了方便写作,Leslie Lamport 给 TeX 语言加入了很多新的功能,这些他写的功能跟 TeX 加在一起被称为 LaTeX。LaTeX 当然也是一门语言,是基于 TeX 的一门语言,LaTeX 工作组:https://www.latex-project.org/

TeX 发行版:现今的两个主流发行版为 TeX Live(团队负责,安装包大,https://tug.org/texlive/)和 MiKTeX(个人项目,安装包小,https://miktex.org/),两者都集成了一个简单的 LaTeX 源代码编辑器 TeXworks。用户在安装完毕后,可直接使用 TeXworks 编写和编译 LaTeX 源代码。

TeXstudio 编辑器:是跨平台的免费软件,专门用来编辑 .tex 文件的,下载地址:https://texstudio.sourceforge.net/

在线手册 :用 texdoc 命令调出,例如texdoc symbols 用来查看数学符号表,或https://texdoc.org/index.html

编译命令

文档格式 plain TEX 格式 LATEX 格式
TEX 引擎 DVI tex N/A
pdfTEX 引擎 DVI etex latex
PDF pdftex pdflatex
XETEX 引擎 PDF xetex xelatex
LuaTEX 引擎 PDF luatex lualatex

DVI:表示“设备无关(Device Independent)”,用 dvipdfmx 命令可以将其转为 pdf。

xelatex:支持 UTF-8 编码和对 TrueType/OpenType 字体的调用。当前较为方便的中文排版解决方案基于 xelatex

lualatex:底层调用的引擎是 LuaTEX,这个引擎在 pdfTEX 引擎基础上发展而来,除了支持 UTF-8 编码和对 TrueType/OpenType 字体的调用外,还支持通过 Lua 语言扩展 TEX 的功能。lualatex 编译命令下的中文排版支持需要借助 luatexja 宏包。

LaTeX 语法规则

LaTeX 语法规则非常简单,由命令和环境构成。LaTeX 代码结构一般分为前导 (preamble) 和主体 (body) 两部分,前导部分主要用于申明文档类型、排版样式、所使用的宏包等;主体部分主要用于确定标题、章节、目录等文章结构及创作文档内容。

命令

LaTeX 命令通常由三部分组成:\ 命令名[可选参数]{必选参数},对大小写敏感,以反斜线 \ 开头,有以下两种形式之一:

  • 反斜线和后面的一串字母,如 \LaTeX。它们以任意非字母符号(空格、数字、标点等)为界限
  • 反斜线和后面的单个非字母符号,如 $

有些命令的参数可以带一个星号 *,带星号和不带星号的命令效果有一定的差异。初次接触这些概念时,可以粗略地把星号看作一种特殊的可选参数。

字母形式的命令会忽略其后的所有连续空格。如果要人为引入空格,需要在命令后面加一对花括号阻止其忽略空格。

\documentclass{article}
\begin{document}
    \TeX users
    
    or \TeX{} users?
\end{document}

环境

用法为一对命令 \begin 和 \end:

\begin{⟨环境名⟩}[⟨可选参数⟩]{⟨必选参数⟩}
…
\end{⟨环境名⟩}

分组

LaTeX 使用一对花括号 {} 作为分组,在分组中使用的命令被限制在分组内,不会影响到分组外的内容。

源代码结构

LaTeX 源代码以一个 \documentclass 命令作为开头,它指定了文档使用的文档类。% 表示注释,在这个字符之后直到行末,所有的字符都被忽略。

以 document 环境为界,document 环境前是导言部分,能设置全局参数;document 环境内部是正文部分;环境之后的部分被忽略。

\documentclass[⟨可选参数⟩]{⟨文档类名⟩}
% 导言区
\begin{document}
% 正文内容
\end{document}
% 此后内容会被忽略

文档类

\documentclass 指定的文档类有很多种,其中 LaTeX 提供的三个标准文档类分别为:文章 article、报告 report、书籍 book,支持中文排版的文档类:ctexart、ctexrep、ctexbook。

article 类型文档字体大小默认为 10pt,纸张大小默认为 letterpaper,文字分栏默认为 onecolumn(不分栏),打印时默认单面打印,可以根据需要进行设置:\documentclass[12pt, b5paper, twocolumn, twoside]{article}

\part{}创建篇、\chapter{}创建章(article 类型文档不能使用该命令)、\section{}创建一级节、\subsection{}创建二级节、\subsubsection{}创建三级节。

\documentclass{ctexart}
\setcounter{secnumdepth}{0} % 表示自动编号章节层次仅包括 \part 和 \chapter,1 为 \section 2 为 \subsection 3 为 \subsubsection 默认值

\begin{document}
  \title{文档标题}
  \author{作者}
  \date{2024-01-01}
  \maketitle % 显示命令,用来显示导言区添加的相关信息
  
  \begin{abstract}
    这是摘要,这是摘要
  \end{abstract}
  \textbf{Keywords: keyword1, keyword2, keyword3} % 设置关键词
  
  \newpage
  %  \setcounter{tocdepth}{0} % 设置目录层次仅包括 \part 1 为 \section 2 为 \subsection 3 为 \subsubsection 默认值
  \tableofcontents % 自动创建一个目录,带 * 章节命令不会出现在目录中
  \thispagestyle{empty} % 让目录页面不带有全文格式
  
  \newpage
  
  \setcounter{page}{1} % 设置目录页之后页码为 1
  
  \part{part 名称}
  
  \section{一级标题}
  \subsection{二级标题}
  
  \paragraph{段落标题}
  带标题的段落,带标题的段落
  \subparagraph{亚段落标题}
  带标题的亚段落,带标题的亚段落
  
  \section{一级标题 2}
  \subsection{二级标题 2}
  内容 2,内容 2
  
  \section*{一级标题 3} % 命令后加星号会取消自动编号
  内容 3,内容 3
  
\end{document}

article 类型文档纸张方向默认为 portrait(纵向),可以调用 lscape 宏包中的 \begin{landscape} \end{landscape}环境将默认纵向调整为 landscape(横向)。

article 类型文档页边距可以通过调用 geometry 宏包进行调整:\usepackage[margin = 25mm]{geometry}。

article 类型文档章节标题字体格式可以通过调用 sectsty 宏包进行调整。

宏包

在使用 LaTeX 时,时常需要依赖一些扩展来增强或补充 LaTeX 的功能,,这些扩展称为宏包。调用宏包的方法非常类似调用文档类的方法:\usepackage[可选参数]{宏包名}

\usepackage 可以一次性调用多个宏包,在 宏包名 中用逗号隔开。这种用法一般不要指定选项。

CJK 宏包对中文字体的支持比较麻烦,已经不再推荐直接使用。xeCJK 及 luatexja 宏包封装了对汉字排版细节的处理功能。

ctex 宏包和文档类进一步封装了 CJK、xeCJK、luatexja 等宏包,使得用户在排版中文时不用再考虑排版引擎等细节。ctex 宏包本身用于配合各种文档类排版中文,而 ctex 文档类对 LaTeX 的标准文档类进行了封装,包括 ctexart、ctexrep、ctexbook 等。源代码须保存为 UTF-8 编码,并使用 xelatex 或 lualatex 命令编译。

文件的组织方式

LaTeX 提供了命令 \include 用来在源代码里插入文件:\include{⟨filename⟩}

⟨filename⟩ 为文件名(不带 .tex 扩展名),如果和要编译的主文件不在一个目录中,则要加上相对或绝对路径。

值得注意的是 \include 在读入 ⟨filename⟩ 之前会另起一页。有的时候并不需要这样,可以用 \input 命令,它纯粹是把文件里的内容插入:\input{⟨filename⟩}

LaTeX 还提供了一个 \includeonly 命令来组织文件,用于导言区,指定只载入某些文件。导言区使用了 \includeonly 后,正文中不在其列表范围的 \include 命令不会起效:\includeonly{⟨filename1⟩,⟨filename2⟩,…}

最后介绍一个实用的工具宏包 syntonly。加载这个宏包后,在导言区使用 \syntaxonly 命令,可令 LaTeX 编译后不生成 DVI 或者 PDF 文档,只排查错误,编译速度会快不少:

\usepackage{syntonly}
\syntaxonly

如果想生成文档,用 % 注释掉 \syntaxonly 命令即可。

参考:https://mirrors.zju.edu.cn/CTAN/info/lshort/chinese/lshort-zh-cn.pdf

正文完
 0
阿伯手记
版权声明:本站原创文章,由 阿伯手记 于2023-12-22发表,共计3930字。
转载说明:本站原创内容,除特殊说明外,均基于 CC BY-NC-SA 4.0 协议发布,转载须注明出处与链接。
评论(没有评论)
验证码

阿伯手记

阿伯手记
阿伯手记
喜欢编程,头发渐稀;成长路上,宝藏满地
文章数
767
评论数
207
阅读量
683182
今日一言
-「
热门文章
职场救急!AI请假话术生成器:1秒定制高通过率理由

职场救急!AI请假话术生成器:1秒定制高通过率理由

超级借口 不好开口?借口交给我!智能生成工作请假、上学请假、饭局爽约、约会拒绝、邀约推辞、万能借口等各种借口理...
夸克网盘快传助手提高非VIP下载速度

夸克网盘快传助手提高非VIP下载速度

夸克网盘限速这个大家都知道,不开会员差不多限速在几百 K。那有没有办法在合法合规途径加速下载夸克网盘呢?这里推...
TVAPP:开源电视盒子资源库,一键打造家庭影院

TVAPP:开源电视盒子资源库,一键打造家庭影院

导语 TVAPP 是一个专为 Android TV 电视盒子用户打造的开源影音资源库,集成了影视、直播、游戏等...
巴别英语:用美剧和TED演讲轻松提升英语听力与口语

巴别英语:用美剧和TED演讲轻松提升英语听力与口语

还在为枯燥的英语学习而烦恼吗?巴别英语通过创新的美剧学习模式,让英语学习变得生动有趣。平台提供海量美剧和 TE...
Chinese Name Generator 在线中文姓名生成器

Chinese Name Generator 在线中文姓名生成器

Chinese Name Generator 是一款在线中文姓名生成器,可在几秒内生成符合个人需求的中文名字。...
2025年12月 每日精选

2025年12月 每日精选

关于每日精选栏目 发现一些不错的资源,点击 这里 快速投稿。 12 月 26 日 .ax 顶级域 目前全球唯一...
123云盘限时福利:登录即送1个月VIP尊享权益!

123云盘限时福利:登录即送1个月VIP尊享权益!

🎁  零成本体验 20T 超大空间与会员加速通道 🎉 活动亮点 登录即送:无需任何复杂操作,登录账号直接领取 ...
最新评论
阿伯手记 阿伯手记 发了:https://aboss.top/moments/1064
吴蛋蛋 吴蛋蛋 快发小年快乐
吴蛋蛋 吴蛋蛋 Ask4Me,这个之前看server酱接入了
15220202929 15220202929 怎么用
八对 八对 麻烦大佬更新下【堆新】的友链站名:八对星星描述:极目星视穹苍无界•足履行者大地有疆链接:https://8dui.com图标:https://cf.8dui.com/logo.webp横标:https://cf.8dui.com/logo-w.webp订阅:https://8dui.com/rss.xml
三毛笔记 三毛笔记 已添加
DUINEW DUINEW 已添加贵站,期待贵站友链~博客名称:堆新博客地址:https://duinew.com/博客描述:堆新堆新,引力向新!——堆新(DUINEW)博客头像:https://d.duinew.com/logo.webp横版头像:https://d.duinew.com/logo-w.webp博客订阅:https://duinew.com/rss.xml
hedp hedp 没看懂
bingo bingo 直接生成就可以啦,也可以添加一些选项
热评文章
夸克网盘快传助手提高非VIP下载速度

夸克网盘快传助手提高非VIP下载速度

夸克网盘限速这个大家都知道,不开会员差不多限速在几百 K。那有没有办法在合法合规途径加速下载夸克网盘呢?这里推...
Short-Link 免费开源短网址程序,基于Fastify、Vercel和Supabase构建

Short-Link 免费开源短网址程序,基于Fastify、Vercel和Supabase构建

Short-Link 是一款基于 Fastify、Vercel 和 Supabase 构建的 URL 缩短服务...
清华大学官方免费DeepSeek教程

清华大学官方免费DeepSeek教程

AI 领域近期最引人注目的焦点当属 DeepSeek,这款由中国创新企业深度求索研发的人工智能工具,正以开放源...
Chinese Name Generator 在线中文姓名生成器

Chinese Name Generator 在线中文姓名生成器

Chinese Name Generator 是一款在线中文姓名生成器,可在几秒内生成符合个人需求的中文名字。...
2026年2月 每日精选

2026年2月 每日精选

关于每日精选栏目 发现一些不错的资源,点击 这里 快速投稿。 2 月 17 日 国家全民健身信息服务平台 过年...
DrawLink:一键生成链接视觉卡片,提升分享点击率

DrawLink:一键生成链接视觉卡片,提升分享点击率

小贴士 :此站或已变迁,但探索不止步。我们已为您备好「类似网站」精选合集,相信其中的发现同样能为您带来惊喜。
WebRTC Screen Mirror:基于浏览器免费开源投屏神器,可实现低延迟、跨平台屏幕共享

WebRTC Screen Mirror:基于浏览器免费开源投屏神器,可实现低延迟、跨平台屏幕共享

WebRTC Screen Mirror 是一款基于 WebRTC 技术的在线屏幕共享工具,它利用浏览器内置的...